#include "shrike.h"

#ifndef CORE
    #define CORE SHRIKE

    static int shrike_workers = 0;

    #define WORKER_INIT() (extern shrike_workers)
    #define WORKER_ADD() (shrike_workers++)
    #define WORKER_RDC() (shrike_workers--)
    #define WORKER_CHK() ((shrike_workers < MAX_WORKER) ? (1) : (0))

/**
 * 结构体
 */

/**
 * 函数表
 */
    /**
     * 结束信号监听器
     */
    void desc_listener(void (*func)(int));
    /**
     * 检测条件并发出终止信号
     * param1: 条件判断结果
     * param2: 提示文字
     */
    void error_check(int, char *);
    // 文件的mime类型
    int file_mime(char *, char *);
    // 判断是否为cgi程序
    int iscgi(char *);
    // cgi模式接口
    int cgi_link(char *, char *, int);
    // 静态模式接口
    int static_link(char *, char *, int);
    int mcc(int, int);
    // 响应函数
    void response(void);

#endif